package com.ssd.service;

import com.ssd.entity.Partner;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ssd.entity.dto.LoginReq;
import com.ssd.entity.dto.PartnerReq;
import com.ssd.entity.dto.PartnerUpdatePwdReq;
import com.ssd.entity.vo.LoginResp;
import com.ssd.view.BaseResponse;
import com.ssd.viewmodel.Pager;

import java.io.IOException;

/**
 * <p>
 * 合作商表 服务类
 * </p>
 *
 * @author author
 * @since 2024-11-14
 */
public interface IPartnerService extends IService<Partner> {

    /**
     * 合作商登录
     * @param req
     * @return
     */
    LoginResp login(LoginReq req) throws IOException;

    BaseResponse resetPwd(Integer id);

    /**
     * 修改密码
     * @param id
     * @param req
     * @return
     */
    BaseResponse updatePwd(Integer id, PartnerUpdatePwdReq req);

    /**
     * 更新合作商信息
     * @param id
     * @param partner
     * @return
     */
    BaseResponse modify(Long id, PartnerReq partner);

    /**
     * 删除合作商
     * @param id 合作商id
     * @return
     */
    BaseResponse<Boolean> delete(Integer id);

    BaseResponse<Pager<Partner>> search(Long pageIndex, Long pageSize, String name);
}
